package com.gin.common.util;


import com.gin.common.util.mybatis.page.Page;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * create  on 2020-03-12 13:46
 * 集合工具类
 */
public class CollectionUtils extends org.apache.commons.collections.CollectionUtils {
    /**
     * 在数据源里分页查询
     * * * 这里不适用 sublist  的原因
     * * *
     *
     * @param dataList 数据源
     * @param page     页码
     * @param pageSize 大小
     * @param <T>
     * @return
     */
    public static <T> List<T> listLimit(List<T> dataList, Integer page, Integer pageSize) {
        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(dataList)) {
            int size = dataList.size();
            Page pageVo = new Page(page, pageSize, size);
            // 取数据
            List<T> limitList = new ArrayList<>();
            for (int i = pageVo.getOffset(); i < pageVo.getEnd(); i++) {
                limitList.add(dataList.get(i));
            }
            return limitList;
        }
        return null;
    }


    /**
     * 把英文逗号隔开的：字符串分割成  set int
     *
     * @param data
     * @return
     */
    public static Set<Integer> getSetIntByString(String data) {
        String arr[] = data.split(",");
        Set<Integer> set = new HashSet<>();
        for (String item : arr) {
            set.add(Integer.valueOf(item)); // 转换int
        }
        return set;
    }
}
